#include <iostream>
#include <set>
#include <algorithm>
#include <base/gridfunc.hpp>
#include <sstream>

void insert(std::set<int> &set_grid, int k)
{
	std::set<int>::iterator it = set_grid.find(k);
	if (it != set_grid.end())
	{
		set_grid.insert(k);
	}
}

void myfunction (int i) {
	std::cout << " " << i;
}

//int main()
//{
//	int zoom = 11;
//
//	double lng_begin = 119.966377;
//	double lat_begin = 30.415519;
//
//	//30.032244,120.425056
//
//	double lng_end = 120.425056;
//	double lat_end = 30.032244;
//
//	double lng_inc = 0.001;
//	double lat_inc = -0.0001;
//
//	int x,y;
//
//	std::set<int> set_x;
//	std::set<int> set_y;
//
//	for (;;)
//	{
//		for (;;)
//		{
//			x = CCTool::GridFunc::getTileNumberX(zoom, lng_begin);
//			y = CCTool::GridFunc::getTileNumberY(zoom, lat_begin);
//
//			set_x.insert(x);
//			set_y.insert(y);
//			
//			lat_begin += lat_inc;
//			if (lat_begin < lat_end)
//			{
//				break;
//			}
//		}
//		lng_begin += lng_inc;
//		if (lng_begin > lng_end)
//		{
//			break;
//		}
//		
//	}
//
//	std::for_each (set_x.begin(), set_x.end(), myfunction);
//
//	std::cout << "///////////////////////////////////////////\n";
//	std::for_each (set_y.begin(), set_y.end(), myfunction);
//
//}

//int main()
//{
//	int x,y;
//
//
//
//	for (int x = 1706;x < 1710; x++)
//	{
//		for (int y = 842 ;y < 846; y++)
//		{
//			std::cout << x << " " << y << std::endl;
//		}
//	}
//}

int main()
{
	
	std::string output_;
	std::ostringstream strreslut(output_);
	//strreslut.str(output_);
	strreslut.str();

	strreslut << "123" << std::endl;

	std::cout << output_ << std::endl;

	for (int zoom = 20; zoom > 5; zoom--)
	{
		int x = CCTool::GridFunc::getTileNumberX(zoom, 120.123456);
		int y = CCTool::GridFunc::getTileNumberY(zoom, 30.123456);

		std::cout << zoom << " " << x << " " << y << std::endl;
	}
}